﻿using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.IO;
using System.Collections.Generic;

public partial class GestionarConvenios_FrRegConvenio : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if (Session["nit"] != null)
            Response.Redirect("/SUEWebSite/Error.aspx");
        else if (Session["nomUsr"] != null)
        {
            List<String> Permisos = (List<String>)Session["Permisos"];

            if (!Permisos.Contains(System.IO.Path.GetFileName(HttpContext.Current.Request.FilePath)))
                Response.Redirect("/SUEWebSite/Error.aspx");

        }
        else Response.Redirect("/SUEWebSite/Principal.aspx");
        if (Request.QueryString["idEmpresa_nit"] != null)
        {

            try
            {
                GestionarConvenios gcE = new GestionarConvenios();
                int idEmpresa_nit = Convert.ToInt32(Request.QueryString["idEmpresa_nit"].ToString());
            }
            catch (Exception ex)
            {
                //no se envio un entero.
            }
        }


    }
    protected void CalendarFechaInicio_SelectionChanged(object sender, EventArgs e)
    {
        CalendarFechaInicio.Visible = false;

    }
    /// <summary>
    /// se quitan las fechas del formulario que no correspondan al mes actual   
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    protected void CalendarFechaInicio_DayRender(object sender, DayRenderEventArgs e)
    {
        if (e.Day.IsOtherMonth)
        {
            e.Cell.Text = "";

        }
    }
    protected void ButtonCrear_Click(object sender, EventArgs e)
    {
        int Legalizado = 0;
        if (CalendarFechaInicio.SelectedDate < CalendarFechaLimite.SelectedDate)
        {
            string FechaInicio = CalendarFechaInicio.SelectedDate.ToShortDateString();
            string FechaLimite = CalendarFechaLimite.SelectedDate.ToShortDateString();
            string FechaFirma = CalendarFechaFirma.SelectedDate.ToShortDateString();

            if (CheckBoxLegalizado.Checked)
            {
                Legalizado = 1;
            }

            int IdConvenio = 0;
            double sueldo = Convert.ToDouble(TextBoxSueldo.Text);
            GestionarConvenios gc = new GestionarConvenios();
            IdConvenio = gc.CrearConvenio(Request.QueryString["idEmpresa_nit"].ToString(), TextBoxIdentificacionConvenio.Text, FechaInicio, FechaLimite, TextBoxObservaciones.Text, DropDownListTipoConvenio.Text, DropDownListEstado.SelectedValue, sueldo, TextBoxRepresentanteLegal.Text, TextBoxDuracionMeses.Text + " M " + TextBoxDuracionDias.Text + " D", Legalizado, FechaFirma);

            if (IdConvenio != 0)
            {

                if ((FileUploadConvenio.PostedFile != null) && (FileUploadConvenio.PostedFile.ContentLength > 0))
                {
                    string fn = System.IO.Path.GetFileName(FileUploadConvenio.PostedFile.FileName);
                    DirectoryInfo DIR = new DirectoryInfo(Server.MapPath("Convenios") + "\\" + Request.QueryString["idEmpresa_nit"].ToString() + "\\" + IdConvenio);
                    if (!DIR.Exists)
                        DIR.Create();
                    string SaveLocation = Server.MapPath("Convenios") + "\\" + Request.QueryString["idEmpresa_nit"].ToString() + "\\" + IdConvenio + "\\" + fn;

                    try
                    {

                        //SaveLocation += IdConvenio;
                        FileUploadConvenio.PostedFile.SaveAs(SaveLocation);

                        LabelNotificacion.Text = "Archivo subido con éxito";
                        ScriptManager.RegisterStartupScript(this, this.GetType(), "myscript", "$.modaldialog.success('Convenio registrado con éxito <br /><center><a href=\"FrConsConvenios.aspx\"><img src=\"../images/ok2.png\"/></a></center>');", true);



                    }
                    catch
                    {
                        LabelNotificacion.Text = "No se pudo subir el archivo";
                        ScriptManager.RegisterStartupScript(this, this.GetType(), "myscript", "$.modaldialog.error('No se pudo subir el archivo!', {timeout: 4 , showClose: false });", true);
                    }
                    finally
                    {

                    }
                }
                else
                    LabelNotificacion.Text = "No se pudo guardar el archivo";
                ScriptManager.RegisterStartupScript(this, this.GetType(), "myscript", "$.modaldialog.error('No se pudo guardar el archivo!', {timeout: 4 , showClose: false });", true);
            }
            else
                LabelNotificacion.Text = "Seleccione un archivo";
            ScriptManager.RegisterStartupScript(this, this.GetType(), "myscript", "$.modaldialog.error('Seleccione un archivo!', {timeout: 4 , showClose: false });", true);

        }
        else
            ScriptManager.RegisterStartupScript(this, this.GetType(), "myscript", "$.modaldialog.error('La fecha límite no debe ser menor a la inicial', {timeout: 3 , showClose: false });", true);
    }
    protected void CalendarFechaFirma_SelectionChanged(object sender, DayRenderEventArgs e)
    {

        if (e.Day.IsOtherMonth)
        {
            e.Cell.Text = "";

        }

    }
    protected void ButtonCancelar_Click(object sender, EventArgs e)
    {
        Response.Redirect("FrConsConvenios.aspx");
    }
}
